Me desvié de las indicaciones y usé velocity verlet para poder simular velocidades, posiciones y aceleraciones. Utilizando la fórmula de fuerza elástica, de momento solo he podido simular 2 partÃculas que rebotan entre sÃ. Con una constante elástica de k y una distancia d igual a 2, esta es la animación.
Agregando viscocidad de 0.1 proporcional a la velocidad. Esto cambió asÃ. Donde podemos ver que llega un momento que dejan de oscilar o bien es mÃnima.
Antes de pasar a la fuerza para crear un angulo entre 3 partÃculas, debo crear una automatización para crear los bonds automáticamente dependiendo del número de partÃculas, y esta crearla en una función aparte, para poder implementar más fácilmente las cosas.
Estuve tieniendo muchos problemas para hacer paredes periodicas, asi que de momento usare paredes fijas con un potencial lenard jones. Lo cual de momento funciona.
Cree una funcion que crea cadenas y las posiciona dependiendo el numero de cadenas y particulas independientemente. Pero es bastante sencillo, ya que se crea a partir del centro.
Se necesita una entrada en forma de Array, como esta [2, 3, 6], donde cada elemento es un bond y cada dato es el numero de particulas de cada bond.
Un array asi, nos muestra algo como esto.
Despues de demasiadas horas tratando de calcular las fuerzas elasticas independientemente de cada bond, se logro. Aunque creo todavia hay algo extrano porque a bajas viscocidades, estamos hablando de 0.1 aproximadamente, la oscilacion no cede despues de 40 segundos. Pero con una viscocidad de 0.7 este es el resultado. Este comportamiento es a una distancia de 3.